package com.itheima.service;

import com.itheima.entity.PageResult;
import com.itheima.entity.QueryPageBean;
import com.itheima.pojo.Menu;

import java.util.List;

/**
 * 菜单服务接口
 */
public interface MenuService {
    /**
     * 查询所有菜单
     *
     * @return 菜单集合
     */
    List<Menu> findAll();

    /**
     * 分页查询  可带条件
     *
     * @param queryPageBean 封装 当前页码 每页记录数  查询条件
     * @return PageResult  封装  总条数  当前页面结果
     */
    PageResult findPage(QueryPageBean queryPageBean);

    /**
     * 新增菜单
     *
     * @param menu 菜单信息
     */
    void add(Menu menu);

    /**
     * 根据id查询菜单
     *
     * @param id 菜单id
     * @return 菜单信息
     */
    Menu findById(Integer id);

    /**
     * 编辑菜单
     *
     * @param menu 菜单信息
     */
    void edit(Menu menu);

    /**
     * 根据id删除套餐
     *
     * @param id 套餐id
     */
    void delete(Integer id);

    /**
     * 根据用户名加载菜单
     *
     * @param username 用户名
     * @return 菜单集合
     */
    List<Menu> loadMenu(String username);

}
